package com.malou.client.graficosestadisticos;

import java.util.Date;
import java.util.List;

import com.extjs.gxt.ui.client.data.BaseListLoader;
import com.extjs.gxt.ui.client.data.BeanModel;
import com.extjs.gxt.ui.client.data.BeanModelReader;
import com.extjs.gxt.ui.client.data.ListLoadResult;
import com.extjs.gxt.ui.client.data.ListLoader;
import com.extjs.gxt.ui.client.data.LoadEvent;
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.RpcProxy;
import com.extjs.gxt.ui.client.event.LoadListener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;

public class Graficos {

	private static GraficosServiceAsync gs = GWT.create(GraficosService.class);
	public static ListStore<BeanModel> storePrendasVendidasxDia;
	public static ListLoader<ListLoadResult<ModelData>> loaderPrendasVendidasxDia;
	public static ListStore<BeanModel> storeGPrendasVendidasxDia;
	public static ListLoader<ListLoadResult<ModelData>> loaderGPrendasVendidasxDia;	
	
	public static Date fecha;
	public static Integer tienda_id;
	
	public static PrendasVendidasxDiaPanel pvxDia;
	public static GPrendasVendidasxDiaPanel GpvxDia;
		
	public static Date fechainicial;
	public static Date fechafinal;
	public static Integer modeloprenda_id;	
	public static ListStore<BeanModel> storePrendaVendidaxFecha;
	public static ListLoader<ListLoadResult<ModelData>> loaderPrendaVendidaxFecha;
	public static PrendaVendidaxFechaPanel pvxFechamp;
	public static ListStore<BeanModel> storePrendasVendidasxFecha;
	public static ListLoader<ListLoadResult<ModelData>> loaderPrendasVendidasxFecha;
	public static PrendasVendidasxFechaPanel pvxFecha;
	public static ListStore<BeanModel> storeGPrendasVendidasxFecha;
	public static ListLoader<ListLoadResult<ModelData>> loaderGPrendasVendidasxFecha;
	public static GPrendasVendidasxFechaPanel GpvxFecha;
	public static ListStore<BeanModel> storeGPrendaVendidaxFecha;
	public static ListLoader<ListLoadResult<ModelData>> loaderGPrendaVendidaxFecha;
	public static GPrendaVendidaxFechaPanel GpvxFechamp;
	
	public static void getPrendasVendidasxDia(){
		RpcProxy<List<PrendasVendidasxDia>> proxy = new RpcProxy<List<PrendasVendidasxDia>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxDia>> callback) {				
				gs.getPrendasVendidasxDia(fecha, tienda_id, callback);
			}		      
			
	    };
	    
	    loaderPrendasVendidasxDia= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storePrendasVendidasxDia = new ListStore<BeanModel>(loaderPrendasVendidasxDia);
	    
	    loaderPrendasVendidasxDia.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){
	    		pvxDia.status.hide();
	    		pvxDia.find.show();	    		
	    	}
	    });
	}
	
	public static void getGPrendasVendidasxDia(){
		RpcProxy<List<PrendasVendidasxDia>> proxy = new RpcProxy<List<PrendasVendidasxDia>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxDia>> callback) {				
				gs.getPrendasVendidasxDia(fecha, callback);
			}		      
			
	    };
	    
	    loaderGPrendasVendidasxDia= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storeGPrendasVendidasxDia = new ListStore<BeanModel>(loaderGPrendasVendidasxDia);
	    
	    loaderGPrendasVendidasxDia.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){
	    		GpvxDia.status.hide();	    		
	    	}
	    });
	}
	
	public static void getPrendaVendidaxFecha(){
		RpcProxy<List<PrendasVendidasxFecha>> proxy = new RpcProxy<List<PrendasVendidasxFecha>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxFecha>> callback) {				
				gs.getPrendaVendidaxFecha(fechainicial, fechafinal, modeloprenda_id, tienda_id, callback);
			}		      
			
	    };
	    
	    loaderPrendaVendidaxFecha= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storePrendaVendidaxFecha = new ListStore<BeanModel>(loaderPrendaVendidaxFecha);
	    
	    loaderPrendaVendidaxFecha.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){
	    		pvxFechamp.status.hide();
	    		pvxFechamp.find.show();	    		
	    	}
	    });
	}
	
	public static void getPrendasVendidasxFecha(){
				
		RpcProxy<List<PrendasVendidasxFecha>> proxy = new RpcProxy<List<PrendasVendidasxFecha>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxFecha>> callback) {				
				gs.getPrendasVendidasxFecha(fechainicial, fechafinal, tienda_id,callback);
			}		      
			
	    };
	    
	    loaderPrendasVendidasxFecha= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storePrendasVendidasxFecha = new ListStore<BeanModel>(loaderPrendasVendidasxFecha);
	    
	    loaderPrendasVendidasxFecha.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){	    		
	    		pvxFecha.status.hide();
	    		pvxFecha.find.show();	    		
	    	}
	    });
	}
	
	public static void getGPrendasVendidasxFecha(){
		
		RpcProxy<List<PrendasVendidasxFecha>> proxy = new RpcProxy<List<PrendasVendidasxFecha>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxFecha>> callback) {				
				gs.getPrendasVendidasxFecha(fechainicial, fechafinal, callback);
			}		      
			
	    };
	    
	    loaderGPrendasVendidasxFecha= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storeGPrendasVendidasxFecha = new ListStore<BeanModel>(loaderGPrendasVendidasxFecha);
	    
	    loaderGPrendasVendidasxFecha.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){	    		
	    		GpvxFecha.status.hide();
	    		GpvxFecha.find.show();	    		
	    	}
	    });
	}
	
	public static void getGPrendaVendidaxFecha(){
		RpcProxy<List<PrendasVendidasxFecha>> proxy = new RpcProxy<List<PrendasVendidasxFecha>>() {

			@Override
			protected void load(Object loadConfig,AsyncCallback<List<PrendasVendidasxFecha>> callback) {				
				gs.getPrendaVendidaxFecha(fechainicial, fechafinal, modeloprenda_id, callback);
			}		      
			
	    };
	    
	    loaderGPrendaVendidaxFecha= new BaseListLoader<ListLoadResult<ModelData>>(proxy, new BeanModelReader());
	    
	    storeGPrendaVendidaxFecha = new ListStore<BeanModel>(loaderGPrendaVendidaxFecha);
	    
	    loaderGPrendaVendidaxFecha.addLoadListener(new LoadListener(){
	    	public void loaderLoad(LoadEvent e){
	    		GpvxFechamp.status.hide();
	    		GpvxFechamp.find.show();	    		
	    	}
	    });
	}
}
